/**
 * 5.4.5【案例】制作年历
 * @type {number}
 */
var year = parseInt(prompt("输入年份", '2019'));//创建变量year 弹出输入框 获取输入的年份 默认年份为2019
document.write(calender(year));//调用函数calender()传入year 生产指定年份的年历

function calender(y) {
    var w = new Date(y, 0).getDay();//实现获取指定年份1月1日的星期值 保存到变量w（为了指定将日期输出到对应的星期位置）
    var html = "";//html5表单代码

    for (let m = 1; m <= 12; m++) {//拼接全年12个月的表格  8-12  33行代码
        html += "<table>";
        html += '<tr bgcolor="gray"><th colspan="7">' + y + '年' + m + '月</th></tr>';
        html += '<tr><td>日</td><td>一</td><td>二</td><td>三</td><td>四</td>';
        html += '<td>五</td><td>六</td></tr>';

        html += "<tr>" //开始<tr>标签

        var max = new Date(y, m, 0).getDate();//获取每个月份共有多少天
        for (let d = 1; d <= max; ++d) {//从该月份的第一天遍历到最后一天

            if (w && d == 1) {//日过该月的第1天不是星期日，则填充空白
                html += '<td colspan="' + w + '"></td>';
            }
            html += '<td>' + d + "</td>";
            if (w == 6 && d != max) {//如果星期六不是该月的最后一天，则换行
                html += "</tr><tr>";
            } else if (d == max) {//该月的最后一天，闭合<tr>标签
                html += "</tr>"
            }

            w = (w + 1 > 6) ? 0 : w + 1;//控制星期值在0-6范围内变动
        }

        html += '</table>';
    }
    return html;
}

var data = new Date(2019, 1, 0).getDay();
console.log(data);

